package cn.glc.daily.life.web.service.user;

import cn.glc.daily.life.model.dto.user.task.UserTaskAddDto;
import cn.glc.daily.life.model.dto.user.task.UserTaskQueryDto;
import cn.glc.daily.life.model.dto.user.task.UserTaskUpdateDto;
import cn.glc.daily.life.model.dto.user.task.UserTaskUpdateStatusDto;
import cn.glc.daily.life.model.vo.user.task.UserTaskDetailVo;
import cn.glc.daily.life.model.vo.user.task.UserTaskVo;
import com.baomidou.mybatisplus.core.metadata.IPage;

/**
 * 用户任务
 *
 * @author simon
 * @date 2021/5/12 11:29
 * @copyright:
 * @modifier
 * @motto a no talent, people who have to study hard
 */
public interface UserTaskService {

    /**
     * 分页查询
     *
     * @param userTaskQueryDto
     * @return
     */
    IPage<UserTaskVo> listPage(UserTaskQueryDto userTaskQueryDto);

    /**
     * 新增任务
     *
     * @param userTaskAddDto
     * @return
     */
    Boolean addTask(UserTaskAddDto userTaskAddDto);

    /**
     * 删除任务
     *
     * @param uid
     * @return
     */
    Boolean deleteTask(Long uid);

    /**
     * 查询任务
     *
     * @param uid
     * @return
     */
    UserTaskDetailVo queryTask(Long uid);

    /**
     * 更新任务
     *
     * @param userTaskUpdateDto
     * @return
     */
    Boolean updateTask(UserTaskUpdateDto userTaskUpdateDto);

    /**
     * 更新任务状态
     *
     * @param userTaskUpdateStatusDto
     * @return
     */
    Boolean updateTaskStatus(UserTaskUpdateStatusDto userTaskUpdateStatusDto);

}
